package net.cyndeline.components.effect

import net.cyndeline.entitySystem.Component

/**
 * Shows the number of stacks the effect currently has.
 */
trait StacksComponent extends Component {
  
  /**
   * The number of stacks the effect currently has.
   */
  def stacks: Int
  
  /**
   * Sets a new stack value.
   */
  def stacks_=(stacks: Int)
}

class Stacks extends StacksComponent {
  override var stacks: Int = 0
  
  override def copy = {
    val copy = new Stacks()
    copy.stacks = stacks
    copy
  }
}